#ifndef _GRAPHIC_H
#define _GRAPHIC_H

#include "o_struct.h"

class Graphic {
public:
    bool init_graphic(const Core_Config &core_cfg);
    void reset_graphic(const Core_Config &core_cfg);

    void release();

    void begin_render();
    void end_render();

public:
    Graphic();
    virtual ~Graphic();

protected:

private:
    Graphic_Config graphic_cfg;

public:
    Graphic_Config *get_graphic_config()
    { return &graphic_cfg; }

    LPDIRECT3DDEVICE9 get_device()
    { return graphic_cfg.p_device; }

    void set_clear_color(DWORD dw_color)
    { graphic_cfg.dw_clear_color = dw_color; }
};

#endif
